const espAi = require("esp-ai"); 
const prompt = require("./systemPrompt.js");
const config = { 
    gen_client_config: ()=>({
 
        // 官方 ASR 服务配置 
        iat_server: "esp-ai-asr",
        iat_config: {
            // 开放平台秘钥
            api_key: "f58ae6408a8440a5a109bb1ad485c3b4",
            // 等待用户首次说话时间(被唤醒后，多少时间检测不到说话就自动退下，单位 ms， 默认: 5000)
            // vad_first: 5000,
            // 对话过程中等待用户说话时间(对话过程中，多少时间检测不到说话就自动退下，单位 ms， 默认: 2000)
            // vad_course: 2000,
        }, 
      
        // 自定义化官方llm插件
        llm_server: "esp-ai-plugin-LLM-handlejson",
        llm_config: { 
            // 开放平台秘钥
            api_key: "f58ae6408a8440a5a109bb1ad485c3b4",
        },

        // // 调用火山引擎TTS
        tts_server: "esp-ai-plugin-tts-handlejson",
        tts_config: {
            appid: "7279918876",
            accessToken: "mDpEnWzAM2m0ncS0wXw4esNJDsrQH06x",
            rate: 16000, //采样率，只支持 16k 或者 24k，大模型语音合成必须使用 24k
            voice_type: "BV007_streaming", // 清切女声
            // voice_type: "BV051_streaming", // 奶气萌娃

        },
        connected_reply: "Asnull AI Car 已成功连接服务器！",  // 设置为 false 则关闭
        f_reply: false, // 设置为 false 则关闭提示音
        llm_init_messages: [
            { role: 'system', content: prompt },
        ],

    }),
    onLLMcb: (arg) => { 
        arg.sendToClient();
    },
    plugins: [
        require("./plugins/tts/volcengine"),
        require("./plugins/llm/esp-ai"),
        require("./plugins/llm/deepseek")
    ], 
};

const espAiIns = espAi(config);